===========SCRIPT COMMANDS===========
A script command executes an action within the game. Script commands are in the following places as follows:

1. In your startup.txt file ; one command per line; each command must start with a tilde ~ 
2. In any stand-alone script files ; one command per line; each command must start with a tilde ~ 
3. Via the in game console (opened with the ~ or F10 keys ; do not use a tilde ~ key before each command
4. In conversation response choices ; do not use a tilde ~; you can input multiple commands seperated by * 
5. In trigger actions ; do not use a tilde ~; you can input multiple commands seperated by * 



==========CONVERSATIONS==========

Attach a conversation to an NPC (the conversation will start when the NPC is clicked; don't forget to set an active panel too):
~conversation.[conversation number].attach.[npc name]

Detach an attached conversation:
~conversation.[conversation number].detach

Make a conversation active:
~conversation.[conversation number].active

Make a conversation inactive:
~conversation.[conversation number].inactive

Start a conversation manually (conversation must be attached to an NPC, set as active and a panel number set):
~conversation.start.[conversation number]

Change / set the active panel of the conversation:
~conversation.[conversation number].panel.[panel number]

Close the current open conversation:
~conversation.end



==========CP==========

Change Tool
~player.equip.[cp tool number]

Change hand tool to white / black skin (default is white)
~handcolorwhite
~handcolorblack 

Enable/disable the trousers button on the control panel (default is enabled)
~cpbutton1active
~cpbutton1inactive

Enable/disable the underwear button on the control panel (default is enabled)
~cpbutton2active
~cpbutton2inactive

Enable/disable the bare button on the control panel (default is enabled)
~cpbutton3active
~cpbutton3inactive

Enable/disable the hand tool on the control panel (default is enabled)
~cpbutton4active
~cpbutton4inactive

Enable/disable the light cane tool on the control panel (default is enabled)
~cpbutton5active
~cpbutton5inactive

Enable/disable the heavy cane tool on the control panel (default is enabled)
~cpbutton6active
~cpbutton6inactive

Enable/disable the paddle tool on the control panel (default is enabled)
~cpbutton7active
~cpbutton7inactive

Enable/disable the paddle w/ holes tool on the control panel (default is enabled)
~cpbutton8active
~cpbutton8inactive

Enable/disable the ping pong paddle w/ holes tool on the control panel (default is enabled)
~cpbutton9active
~cpbutton9inactive

Enable/disable the strap tool on the control panel (default is enabled)
~cpbutton10active
~cpbutton10inactive

Enable/disable the teaching stick tool on the control panel (default is enabled)
~cpbutton11active
~cpbutton11inactive

Enable/disable the birch tool on the control panel (default is enabled)
~cpbutton12active
~cpbutton12inactive

Enable/disable marks from cp from being drawn on screen (default is enabled)
~cp.marks.enable
~cp.marks.disable

Enable/disable mouse cp controls (default is enabled; when disabled you can still swing and move tools via commands)
~cp.freeze
~cp.unfreeze

Move CP tool position down/up (if availible)
~tooldown
~toolup

Reset tool to starting position 
~toolreset

Remove/add a layer of clothing from/to the spankee
~layerdown
~layerup

Set CP swing strength (10 is strongest)
~cp.strength.[1 -> 10]

Spank/CP an NPC
~npc.[npc name].cp

Swing/Spank 
~cp.swing

Reset Session Severity
~cp.resetseversity

Reset Stroke Counter
~cp.resetsrokes

End CP mode
~cp.end
or 
~cp.exit



==========DOORS==========

Unlock \ lock all doors 
~unlockall
~lockall

Unlock \ lock a door (all doors are by default unlocked at the start of a scenario unless scripted otherwise)
~door.[door number].unlock
~door.[door number].lock

Show a message if a door is locked
~door.[door number].reply.[message you want shown]

Disable \ Enable door (a disabled door cannot be interacted with in any way; this is distinct from a locked door; all doors are by default enabled)
~door.[door number].disable
~door.[door number].enable




==========EXIT GAME==========

Exit Game (regardless of OS):
~exitwindows



==========MAPS==========

Disable / enable movement on specific map (default is enabled):
~map.[map number].movement.disable
~map.[map number].movement.enable

Make player invisible / visible on a specific map (default is visible except for map 191; the black background map):
~map.[map number].player.invisible
~map.[map number].player.visible

Make NPCs invisible / visible on a specific map (default is visible):
~map.[map number].[npc].invisible
~map.[map number].[npc].visible

Show the front school gate as open / closed (only changes the gate graphic; not the gate as a door object)
~opengate
~closegate



==========NPC==========

Show NPC Debugging Information (info will show up in the second debug window; use "player" as npc name to see player info):
~npc.[npc name].info

Change NPC's player facing name:
~npc.[npc name].defaultname.[new game]

NOTE: This only changes the character's name as visible to the player; i.e. if you changed Bob to Robert you would still need to call your "Robert" character using "bob" in script commands

Change adventure mode sprite (clothes):
~npc.[npc name].sprite.[adventure mode sprite number]

Change cp mode trouser sprite:
~npc.[npc name].trousers.[trouser sprite number]

Change cp mode underwear sprite:
~npc.[npc name].underwear.[underwear sprite number]

Change cp mode butt sprite:
~npc.[npc name].butt.[butt sprite number]

Change map:
~npc.[npc name].move.map.[map number]

Change x position:
~npc.[npc name].move.x.[x coordinate; 1 -> 1920]

Change y position:
~npc.[npc name].move.y.[y coordinate; 1 -> 1080]

Change facing position:
~npc.[npc name].move.faving.[1 -> 8]

Clear any marks on butt
~npc.[npc name].clearmarks

Clear CP marks from all NPCs
~npc.clearmarksall

Dress all NPCs
~npc.dressall

Remove all NPCs
~npc.removall

Remove an NPC
~npc.[npc name].remove

Summon an NPC
~npc.[npc name].summon

Take on/off trousers
~npc.[npc name].trouserson
~npc.[npc name].trousersoff

Take on/off underwear
~npc.[npc name].underwearon
~npc.[npc name].underwearoff





==========PLAYER==========

Change map:
~player.move.map.[map number]

Change x position:
~player.move.x.[x coordinate; 1 -> 1920]

Change y position:
~player.move.y.[y coordinate; 1 -> 1080]

Change facing position:
~player.move.move.faving.[1 -> 8]

Change adventure mode sprite (clothes):
~player.sprite.[adventure mode sprite number]

Enable/Disable the player from walking
~player.walk
~player.nowalk

Turn around the player in adventure mode
~player.turn



==========SCRIPTS==========
Run Script: 
~script.[script file name; no extension]




==========SOUND / MUSIC COMMANDS==========

Play an imported/custom sound file (file must be in the Content\sounds\custom folder and in the XNB audio format)
~playcustomsound.[file name; no extension]

Play the start/end of day bell sound
~daybell

Play the start/end of class bell sound
~classbell

Play a birch stroke sound (birch stroke sound files are located in the Content\sounds\tools\birch folder)
~playsoundbirch.[file name; no extension]

Play a cane stroke sound (cane stroke sound files are located in the Content\sounds\tools\cane folder)
~playsoundcane.[file name; no extension]

Play a hand spanking sound (hand spanking sound files are located in the Content\sounds\tools\hand folder)
~playsoundhand.[file name; no extension]

Play a paddle stroke sound (paddle stroke sound files are located in the Content\sounds\tools\paddle folder)
~playsoundpaddle.[file name; no extension]

Play a ping pong bat stroke sound (ping pong bat stroke sound files are located in the Content\sounds\tools\pingpongbat folder)
~playsoundpingpongbat.[file name; no extension]

Play a belt/strap stroke sound (strap/belt stroke sound files are located in the Content\sounds\tools\strap folder)
~playsoundstrap.[file name; no extension]

Play / Stop Bar Song 1
~barmusic1play
~barmusic1stop

Play / Stop Bar Song 2
~barmusic2play
~barmusic2stop

Play / Stop Bar Song 3
~barmusic3play
~barmusic3stop

Play / Stop UPD Song
~pianomusicplay
~pianomusicstop

Play / Stop Race Song
~racemusicplay
~racemusicstop



==========STORY PANEL==========

Show a story panel (file must be in the Content\graphics\panels folder, 1920x1080 in resolution and in XNB format)
~storypanel.open.[story panel file name; no extension]

Close the active story panel:
~storypanel.close




==========TRIGGERS==========

Set a trigger active:
~trigger.[trigger name].active

Set a trigger inactive:
~trigger.[trigger name].inactive





==========VARIABLES==========
Set a variable's numerical value:
~variable.[variable name].value.[number]

Increase a variable's numerical value by a number:
~variable.[variable name].plus.[number]

Decrease a variable's numerical value by a number:
~variable.[variable name].minus.[number]

Multiple a variable's numerical value by a number:
~variable.[variable name].times.[number]

Divide a variable by a number and set the result as the value:
~variable.[variable name].divide.[number]

Set a variable to the same value as another variable:
~variable.[variable name].isequalto.[other variable's name]